/**
 * 
 */
package hu.gbalage.owlforms.api;

import hu.gbalage.owlforms.api.style.OWLFormsStyle;

import java.net.URI;
import java.util.Set;

/**
 * A Form object represents a form in the ontology.
 * In the ontology this is represented by a set of classes.
 * @author Grill Balazs (balage.g@gmail.com)
 *
 */
public interface Form extends Entity{

	/**
	 * @return the unordered list of the fields
	 */
	public Set<Field> listFields();
	
	/**
	 * Find a filed identified by the given uri, this method returns null
	 * if it can't find the field.
	 * @return
	 */
	public Field getField(URI field);
	
	/**
	 * the style to apply to this form
	 * @return
	 */
	public OWLFormsStyle getStyle();
	
}
